x86_64: explicitly zero CR[1] in getvcpucontext for guests with no user PT
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 6 Apr 2009 12:56:35 +0000 (13:56 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 6 Apr 2009 12:56:35 +0000 (13:56 +0100)
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/x86/domctl.c

index 1d748f6f152a0f6d2b35b6daa15169221c989071..955c5e60885afc0a185489556f8bd08a5ce45e66 100644 (file)
@@ -1161,9 +1161,9 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c)
             c.nat->ctrlreg[3] = xen_pfn_to_cr3(
                 pagetable_get_pfn(v->arch.guest_table));
 #ifdef __x86_64__
-            if ( !pagetable_is_null(v->arch.guest_table_user) )
-                c.nat->ctrlreg[1] = xen_pfn_to_cr3(
-                    pagetable_get_pfn(v->arch.guest_table_user));
+            c.nat->ctrlreg[1] =
+                pagetable_is_null(v->arch.guest_table_user) ? 0
+                : xen_pfn_to_cr3(pagetable_get_pfn(v->arch.guest_table_user));
 #endif
 
             /* Merge shadow DR7 bits into real DR7. */